package com.yupi.springbootinit.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单明细实体（表：sales_order_item）
 * 一个订单可以包含多个产品明细
 *
 * @TableName sales_order_item
 */
@TableName(value = "sales_order_item")
@Data
public class SalesOrderItem implements Serializable {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 订单ID（关联sales_order.id）
     */
    @TableField("order_id")
    private Long orderId;

    /**
     * 订单号（冗余，便于查询）
     */
    @TableField("order_number")
    private String orderNumber;

    /**
     * 产品料号
     */
    @TableField("product_code")
    private String productCode;

    /**
     * 产品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 规格型号
     */
    private String specification;

    /**
     * 数量
     */
    private Integer quantity;

    /**
     * 单价（可选）
     */
    @TableField("unit_price")
    private BigDecimal unitPrice;

    /**
     * 金额（数量×单价）
     */
    private BigDecimal amount;

    /**
     * 排序顺序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;

    /**
     * 是否删除：0-未删除，1-已删除
     */
    @TableLogic
    @TableField("is_deleted")
    private Integer isDeleted;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}

